The application contains a computer program listing appendix on a computer disc, which is fully incorporated by reference, in compliance with 37 C.F.R. xc2xa71.52(e). The compact disc contains a single file named xe2x80x9cAppendix.txtxe2x80x9d of size 11,535 bytes created on May 15, 2002.
A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
A. Field of the Invention
This invention relates to the field of telecommunications and more specifically to a method and apparatus for real time communication over packet networks.
B. Description of Related Art and Advantages of the Invention
Real time communications such as audio or video can be encoded using various compression techniques. The encoded information can then be placed in data packets with time and sequence information and transported via non-guaranteed Quality of Service (QoS) packet networks. Non-guaranteed packet switched networks include a Local Area Network (LAN), Internet Protocol Network, frame relay network, or an interconnected mixture of such networks such as an Internet or Intranet. One underlying problem with non-guaranteed packet networks is that transported packets are subject to varying loss and delays. Therefore, for real-time communications, a tradeoff exists among the quality of the service, the interactive delay, and the utilized bandwidth. This tradeoff is a function of the selected coding scheme, the packetization scheme, the redundancy of information packeted within the packets, the receiver buffer size, the bandwidth restrictions, and the transporting characteristics of the transporting network.
One technique for transporting real time communication between two parties over a packet switched network requires that both parties have access to multimedia computers. These computers must be coupled to the transporting network. The transporting network could be an Intranet, an Internet, wide area network (WAN), local area network (LAN) or other type of network utilizing technologies such as Asynchronous Transfer Mode (ATM), Frame Relay, Carrier Sense Multiple Access, Token Ring, or the like. As in the case for home personal computers (PCs), both parties to the communication may be connected to the network via telephone lines. These telephone lines are in communication with a local hub associated with a central office switch and Network Service provider. As used herein, the term xe2x80x9chubxe2x80x9d refers to an access point of a communication infrastructure.
This communication technique however, has a number of disadvantages. For example, for a home-based PC connected to a network using an analog telephone line, the maximum bandwidth available depends on the condition of the line. Typically, this bandwidth will be no greater than approximately 3400 Hz. A known method for transmitting and receiving data at rates of up to 33.6 kbits/second over such a connection is described in Recommendation V.34, published by the International Telecommunication Union, Geneva, Switzerland.
Aside from a limited bandwidth, various delays inherent in the PC solution, such as sound card delays, modem delays and other related delays are relatively high. Consequently, the PC-based communication technique is generally unattractive for real-time communication. As used herein, xe2x80x9creal-time communicationxe2x80x9d refers to real-time audio, video or a combination of the two.
Another typical disadvantage of PC-based communication, particularly with respect to PC-based telephone communications, is that the communicating PC receiving the call generally needs to be running at the time the call is received. This may be feasible for a corporate PC connected to an Intranet. However, such a connection may be burdensome for a home based PC since the home PC may have to tie up a phone line.
Another disadvantage is that a PC-based conversation is similar to conversing over a speakerphone. Hence, privacy of conversation may be lost. Communicating over a speakerphone may also present problems in a typical office environment having high ambient noise or having close working arrangements.
In addition, PC-based telephone systems often require powerful and complex voice encoders and therefore require a large amount of processing capability. Even if these powerful voice encoders run on a particularly powerful PC, the encoders may slow down the PC to a point where the advantage of document sharing decreases since the remaining processing power may be insufficient for a reasonable interactive conversation. Consequently, a caller may have to use less sophisticated encoders, thereby degrading the quality of the call.
A general problem encountered in packet switched networks, however, is that the network may drop or lose data packets. Packets may also be delayed during transportation from the sender to the receiver. Therefore, some of the packets at a receiving destination will be missing and others will arrive out of order.
In a packet switched network whose transporting characteristics vary relatively slowly, the immediate past transporting characteristics can be used to infer information about the immediate future transporting characteristics. The dynamic network transporting characteristics may be measured using such variables as packet loss, packet delay, packet burst loss, loss auto-correlation and delay variation.
The present invention relates to a method and apparatus for communicating a real time media input. The apparatus includes an encoding device that encodes the media into a plurality of data packets. Each data packet includes a plurality of frames that are created according to a first variable. A receiving device unpacks the data packets and buffers the unpacked data packets for a playout according to a second variable. The receiving device generates a plurality of utility parameters for evaluating a dynamic characteristic of a transporting network. The transporting network transports the data packets from the encoding device to the receiving device. A preferred utility parameter is selected. The preferred utility parameter is used to adjust the first and the second variable.
In another aspect of the invention, an apparatus for communicating a real time media input includes a sender having an encoder and a packetizer. The encoder partitions and compresses the real time media input into a plurality of frames. The packetizer packets the frames into a plurality of data packets according to a redundancy value. A transporting network transports the data packets from the sender to a receiver. The receiver includes a real decoder and a plurality of computation decoders. The real decoder includes a real decoder depacketizer and a real decoder buffer. The real decoder depacketizer unpacks the plurality of frames. The frames are placed within the real decoder buffer according to a buffer length variable. Each computation decoder has a utility parameter for evaluating a dynamic characteristic of the transporting network. The computation decoder includes a computation decoder depacketizer and a computation decoder buffer. The computation decoder depacketizer unpacks the plurality of frames and communicates the frames to the computation decoder buffer. The receiver selects a preferred utility parameter from the utility parameters and communicates a feedback variable to the real decoder buffer. The buffer length variable is adjusted in accordance with a change in the dynamic characteristic.
In another aspect of the invention, a system for transmitting real time media includes a first calling device for placing a call to a first processing hub. The first processing hub includes an encoder that partitions the call into a plurality of compressed frames. A packetizer packetizes the frames into a data packet according to a redundancy variable. A transporting network transports the data packet between the first hub and a second hub. The second hub includes a decoder for decoding the data packet into the plurality of frames and ordering these frames within a buffer with depth according to a buffer length variable. The decoder generates a plurality of utility parameters based on the redundancy value and the buffer length variable. The decoder selects a preferred utility parameter from the utility parameters such that the redundancy value and the buffer length are adjusted in accordance with a change in the dynamic characteristic. A second calling device receives the call from the second processing hub.
In still another aspect of the invention, a method for communicating a real time media input includes the step of communicating the real time media input to a sending device and encoding the input into a plurality of data packets. Each data packet comprises a plurality of frames ordered according to a first variable. The data packets are transported to a receiving device where they are unpacked and buffered for a playout of the analog input according to a second variable. At least two utility parameters are generated for evaluating a dynamic characteristic of a transporting network that transports the data packets from the sending device to the receiving device. A preferred utility parameter is selected from the utility parameters. The first and the second variable are adjusted according to the preferred utility parameter.
In still another aspect of the invention, a method for communicating a real time media input includes the steps of partitioning and compressing the real time media input into a plurality of frames. The frames are packetized into a plurality of data packets according to an actual redundancy variable. The data packets are transported by a transporting network. The plurality of frames are unpacked and arranged within a buffer according to a buffer length variable. A plurality of utility parameters are generated for evaluating a dynamic characteristic of the transporting network. A preferred utility parameter is selected from the utility parameters wherein the buffer length variable is adjusted in accordance with a change in the dynamic characteristic.
In another aspect of the invention, a method for transmitting real time audio includes the steps of placing a call to a first processing hub. The call is partitioned and compressed at the first processing hub into a plurality of frames. The frames are packed into a data packet according to a redundancy value. The data packet is transported between the first processing hub and a second processing hub by a transporting network. The data packet is decoded at the second processing hub into the plurality of frames. These frames are ordered within a second hub buffer according to a buffer length. A plurality of utility parameters are generated based on the redundancy value and the buffer length. A preferred utility parameter is selected from the utility parameters. The redundancy value and the buffer length are adjusted in accordance with a dynamic characteristic of the transporting network. The call is then received from the second processing hub.
These and many other features and advantages of the invention will become more apparent from the following detailed description of the preferred embodiments of the invention.